/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package modelo.DAO;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.logging.Level;
import java.util.logging.Logger;
import modelo.conexion.Conexion;
import modelo.vo.Usuario;

/**
 *
 * @author carlos
 */
public class UsuarioDAO extends AbstractDAO
{
    private Usuario usuario;

    public UsuarioDAO(Usuario usuario) {
        this.usuario = usuario;
        this.conexion=new Conexion();
    }
    
    
    
    @Override
    public void insertar() 
    {
        String query="INSERT INTO `subasta`.`usuario` (`NOMBRE`, `CREDITO`) VALUES ('"+usuario.getUsuario()+"', '"+usuario.getCredito()+"');";
        conexion.ejecutarQuery(query);
    }

    @Override
    public void editar() 
    {
        String query="UPDATE `subasta`.`usuario` SET `NOMBRE`='"+usuario.getUsuario()+"', `CREDITO`='"+usuario.getCredito()+"' WHERE `NOMBRE`='"+usuario.getUsuario()+"';";
        conexion.ejecutarQuery(query);
    }

    @Override
    public void eliminar() {
        String query="DELETE FROM `subasta`.`usuario` WHERE `NOMBRE`='"+usuario.getUsuario()+"';";
        conexion.ejecutarQuery(query);
        //DELETE FROM `subasta`.`usuario` WHERE `NOMBRE`='cpu';

    }

    @Override
    public ArrayList lista() 
    {
        String query="SELECT * FROM subasta.usuario;";
        ResultSet rs=conexion.ejecutarConsulta(query);
        ArrayList lista=new ArrayList();
        try {
            while(rs.next())
            {
               lista.add(new Usuario(rs.getString(1),rs.getFloat(2)));
            }
        } catch (SQLException ex) {
            Logger.getLogger(UsuarioDAO.class.getName()).log(Level.SEVERE, null, ex);
        }
        return lista;
    }
    
    public Usuario buscar(String codigo)
    {
        String query="SELECT * FROM subasta.usuario;";
        ResultSet rs=conexion.ejecutarConsulta(query);
        ArrayList lista=new ArrayList();
        try {
            while(rs.next())
            {
               if(rs.getString(1).equals(codigo))
               {
                   return new Usuario(rs.getString(1),rs.getFloat(2));
               }
            }
        } catch (SQLException ex) {
            Logger.getLogger(UsuarioDAO.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;
    
    }

    public Usuario getUsuario() {
        return usuario;
    }
    
    
    
}
